home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 1.iso / ARGONET / PD / FILER / TARSRC.SPK / c / avail < prev    next >
Text File  |  1991-01-05  |  1KB  |  59 lines

  1. #include <stdio.h>
  2. #include "os.h"
  3. #include "swis.h"
  4.  
  5. char *SetTempFS(char *FullName) {
  6.   os_regset r;
  7.  
  8.   r.r[0] = 11;
  9.   r.r[1] = (int)FullName;
  10.   (void)os_swix(OS_FSControl,&r);
  11.   if (r.r[2] == -1)
  12.     return NULL;
  13.   return (char*)r.r[1];
  14. } /* SetTempFS */
  15.  
  16.  
  17. void *FSTempWord(void) {
  18.   os_regset r;
  19.  
  20.   r.r[0] = 20;
  21.   (void)os_swix(OS_FSControl,&r);
  22.   return (void *)r.r[2];
  23. } /* FSTempWord */
  24.  
  25.  
  26. int Free(void *pw, char *DiskName) {
  27.   os_error *Error;
  28.   os_regset r;
  29.  
  30.   r.r[0] = (int)DiskName;
  31.   r.r[8] = (int)pw;
  32.   if ((Error = os_swix(FileCore_FreeSpace,&r)) != NULL) {
  33.     fprintf(stderr,"%s\n",Error->errmess);
  34.     return 0;
  35.   }
  36.   return r.r[0];
  37. } /* Free */
  38.  
  39.  
  40. int main(int argc, char **argv) {
  41.   char *FileName, *dp, *sp;
  42.   void *pw;
  43.   char DiskName[256];
  44.  
  45.   FileName = argv[1];
  46.   sp = SetTempFS(FileName);
  47.   if (sp == NULL) {
  48.     fprintf(stderr,"Unknown filing system.\n");
  49.     exit(1);
  50.   }
  51.   dp = DiskName;
  52.   while (*sp && *sp != '.')
  53.     *(dp++) = *(sp++);
  54.   *dp = '\0';
  55.   fprintf(stderr,"Disk = %s\n",DiskName);
  56.   pw = FSTempWord();
  57.   printf("Free = %d\n",Free(pw,DiskName));
  58. }
  59.